RP2040 SIO
RP2040データシートより SIO について。
GPIOの読み書きはこの辺が参考になりそう。
2.1. Bus Fabric
https://gyazo.com/a9329a3c6766c3df10a410834a6608e0
2.2. Address Map
2.2.1. Summary
ROM
0x00000000
XIP
0x10000000
SRAM
0x20000000
APB Peripherals
0x40000000
AHB-Lite Peripherals
0x50000000
IOPORT Registers
0xd0000000
Cortex-M0+ internal registers
0xe0000000
2.2.2. Detail
(気になるところだけ)
ROM
ROM_BASE
0x00000000
XIP
XIP_BASE
0x10000000
XIP_NOALLOC_BASE
0x11000000
XIP_NOCACHE_BASE
0x12000000
XIP_NOCACHE_NOALLOC_BASE
0x13000000
XIP_CTRL_BASE
0x14000000
XIP_SRAM_BASE
0x15000000
XIP_SRAM_END
0x15004000
XIP_SSI_BASE
0x18000000
APB Peripherals
UART0_BASE
0x40034000
UART1_BASE
0x40038000
TIMER_BASE
0x40054000
Remaining AHB-Lite periherals
XIP_AUX_BASE
0x50400000
IOPORT Peripherals
SIO_BASE
0xd0000000
2.3.1. SIO
https://gyazo.com/2e983e5dc53cb511d82d1b4f1e3d3f7d
Single-cycle IO block (SIO)
ワンサイクルで読み書き可能
高速アクセスしたいものが置かれてる
アドレス: 0xd0000000...0xd000017c
0xd000017dから0xdfffffffはリザーブ
https://gyazo.com/9023e58301019044e778c4727b1b5ecc
https://gyazo.com/8850aada3d97dbe37be0156f289ca1d2
(中略)
https://gyazo.com/96a6fce3c946ff2db4721e6da5fcf8e7